package com.yixing.tech.common.autoline.domain;

import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;
import java.util.List;

/** 堆垛机WCS获取新货位的请求参数 */
public class GetNewLocationReq implements Serializable {

    @JsonProperty("INSTRUCTION_CODE")
    private String INSTRUCTION_CODE;    // 任务编号
    @JsonProperty("SIGNAL_HEIGHT")
    private Integer SIGNAL_HEIGHT;      // 高度信号
    @JsonProperty("CURRENT_LAYER")
    private Integer CURRENT_LAYER;      // 当前层
    @JsonProperty("CURRENT_VERTICAL")
    private Integer CURRENT_VERTICAL;   // 当前列
    @JsonProperty("LANEWAY_LIST")
    private List<Laneway> LANEWAY_LIST; // 巷道号

    public GetNewLocationReq() {
    }

    public GetNewLocationReq(String INSTRUCTION_CODE, Integer SIGNAL_HEIGHT, Integer CURRENT_LAYER, Integer CURRENT_VERTICAL, List<Laneway> LANEWAY_LIST) {
        this.INSTRUCTION_CODE = INSTRUCTION_CODE;
        this.SIGNAL_HEIGHT = SIGNAL_HEIGHT;
        this.CURRENT_LAYER = CURRENT_LAYER;
        this.CURRENT_VERTICAL = CURRENT_VERTICAL;
        this.LANEWAY_LIST = LANEWAY_LIST;
    }

    public String getINSTRUCTION_CODE() {
        return INSTRUCTION_CODE;
    }

    public void setINSTRUCTION_CODE(String INSTRUCTION_CODE) {
        this.INSTRUCTION_CODE = INSTRUCTION_CODE;
    }

    public Integer getSIGNAL_HEIGHT() {
        return SIGNAL_HEIGHT;
    }

    public void setSIGNAL_HEIGHT(Integer SIGNAL_HEIGHT) {
        this.SIGNAL_HEIGHT = SIGNAL_HEIGHT;
    }

    public Integer getCURRENT_LAYER() {
        return CURRENT_LAYER;
    }

    public void setCURRENT_LAYER(Integer CURRENT_LAYER) {
        this.CURRENT_LAYER = CURRENT_LAYER;
    }

    public Integer getCURRENT_VERTICAL() {
        return CURRENT_VERTICAL;
    }

    public void setCURRENT_VERTICAL(Integer CURRENT_VERTICAL) {
        this.CURRENT_VERTICAL = CURRENT_VERTICAL;
    }

    public List<Laneway> getLANEWAY_LIST() {
        return LANEWAY_LIST;
    }

    public void setLANEWAY_LIST(List<Laneway> LANEWAY_LIST) {
        this.LANEWAY_LIST = LANEWAY_LIST;
    }

    @Override
    public String toString() {
        return "GetNewLocationReq{" +
                "INSTRUCTION_CODE='" + INSTRUCTION_CODE + '\'' +
                ", SIGNAL_HEIGHT=" + SIGNAL_HEIGHT +
                ", CURRENT_LAYER=" + CURRENT_LAYER +
                ", CURRENT_VERTICAL=" + CURRENT_VERTICAL +
                ", LANEWAY_LIST=" + LANEWAY_LIST +
                '}';
    }

    public static class Laneway implements Serializable {
        @JsonProperty("LANEWAY_CODE")
        private Integer LANEWAY_CODE;

        public Laneway() {
        }

        public Laneway(Integer LANEWAY_CODE) {
            this.LANEWAY_CODE = LANEWAY_CODE;
        }

        public Integer getLANEWAY_CODE() {
            return LANEWAY_CODE;
        }

        public void setLANEWAY_CODE(Integer LANEWAY_CODE) {
            this.LANEWAY_CODE = LANEWAY_CODE;
        }

        @Override
        public String toString() {
            return "Laneway{" +
                    "LANEWAY_CODE='" + LANEWAY_CODE + '\'' +
                    '}';
        }
    }
}
